home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio 2000 #2
/
Ham Radio 2000 - Volume 2.iso
/
HAMV2
/
TCP_IP
/
TNOS230D
/
NEW2TN2.10
< prev
next >
Wrap
Text File
|
1996-07-23
|
40KB
|
1,059 lines
Upgrading TNOS to release 2.10
http://www.lantz.com/Update2.10.html
TNOS 2.10 will be the next release of TNOS, to be released sometime
before the formation of the United Federation of Planets. Hopefully,
this list of changes will give you an idea of the scope of work that
has occurred between versions. Of course, it may be faster just to
re-read the docs when the next version is released.
This document is divided into:
* Bug Fixes
* Improvements
* Minor Changes
* Known Bugs
* To-Do List
------------------------------------------------------------
Bug Fixes:
The following bugs have been squashed.
* Fixed buglet related to finding Finger files and REQSVR Help file
* Fixed buglet which sometimes stripped beginning of REQSVR uploaded file
* Placed in a temporary workaround for a wpages design problem
The problem occurs if an smtp message comes into the SMTP server of the
form "user%bbs.#heir.address@hostname" *AND* the 'wp support' is on.
It seems that the original string is getting passed TO the wpage_exp
routine, and it can't handle it at this time.
The result depends on your system. DOS, I don't know, but I suspect a
glorious crash. Unix, if you have no (or little) swap space, then a TNOS
crash. Unix with ample swap space, eternal thrashing with little chance
of recovery short of hitting reset button.
It seems to be getting into a recursive loop, with multiple memory
allocations. Not really sure WHERE the exact problem is (at the present),
but here's a simple workaround....
* Fixed an obscure bug that would crash if expanding a empty group
* Fixed a bug that would crash handling the features.new file
This only occurred on SOME systems, which is REALLY surprising.
* Patch to 'ip access' command to insure proper number of parameters
* Fixed buglet in 2.02 with PBBS forwarding messages with blank subjects
* Fixed convers timestamp buglet
* Altered BBS Send command parser to allow '$' in 'to' and 'bbs' names
* Fixed a HUGE bug in FBB compression code
* MANY, MANY assorted cleanups and bug fixes
* The above are included in 2.02pl1
* Fixed a buglet with the BBS's 'editheader' function
* Fixed a buglet that affected FBB forwarding negotiations
* Added code to ensure that new messages PBBS forward (FBB) timely
* Fixed an occasion crash with SMTP messages with long lines
* Fixed a cosmetic bug with some 'forward' subcommands
Some of the subcommands reports errors as being 'mbox' subcommand errors,
not 'forward' subcommand errors.
* RSPF timer routine fixed - thanks Paul
* Fix for tracing to Xserver, if using dumb session mgr (UNIX only)
* Fix for T/TCP from Paul
* Fixed problem if mail queued for fwding is being held
ACTUALLY, this bug COULD have occurred with each and every forwarding
session, causing crashes or freeing others memory. It seemed to only
occur after the system has tried MANY times to fwd traffic, but it
still remains held for review. Usually result would be a reset.
* Found and fixed a MAJOR memory corruption bug (hopefully the only one)
This one was because the SCRIPTING additions (if enabled) didn't allocate
enough memory (one byte short) when processing a locally entered console
command.
* Fixed PBBS forwarding problem with BIDS containing '@'s
* Fixed a couple of buglets involving POLLEDKISS and KISS w/CRC
* Several assorted bug fixes in the forwarding code
* The above are included in 2.02pl2
* Added a patch to allow ';' in BIDS to be accepted (God knows why ;-)
* Fixed bug that prevented error message display if catalog.cat missing
* Fixed incorrect handling of X-fwd response of 'SY 0'
* Added code to allow username and flood zone to begin with a '$'
Again, GOD only knows why........
* Fixed a MAJOR bug that at times truncated outgoing PBBS traffic
* Fixed an FTP buglet, which got response messages out of sync
This only would occur if the transfer type was ASCII, and the file type
was BINARY. A warning message was being output, but it was missing a needed
'-' character after the message number, to cause the receiver to ignore
this string, and search for the next string.
* Fixed an FTP buglet, which made Netscape barf
This occurred because Netscape ALWAYS asks for 'get's of a file using the
complete pathname (starting with '/'), regardless of the directory it
believes it is in. This wasn't being handled correctly. Since a human
wouldn't do this, it was never caught in testing.
* Also, fixed a bug in the dir_ok() function
This function is suppose to check for validity of a directory. It WOULD,
though, not catch if someone tried to (for instance) do a 'cd xxx' in
the ftpserver and 'xxx' was NOT a directory, but was instead a file.
The ftpserver would return '257 "xxx" is current directory'.
* Added code to clean up the 'pbbs' listing if an invalid gateway is found
* Fix for PPP and the newest Livingston Portmaster, used by ISP's
* Fixed a buglet that had crept in on msgs requiring Return Receipts
* The above are included in 2.10b2
* Fixed a bug which didn't handle the remote password as documented
* Fixed the quirk where there would be two X-Forwarded-To lines at times
* The above are included in 2.10b3
* The above are included in 2.10b4
* The above are included in 2.10b5
* FTP permissions bug fixed for Unix
When adding the new UNIX-like dir display a buglet crept in. While fixing
this, I expanded the support for symlinks to make it consistent with
normal Unix displays. Also, the '.' and '..' files are now displayed for
Unix.
* Fixed a security hole in the HTTP PBBS code
------------------------------------------------------------
Improvements:
The following optimizations and improvements have occurred.
* Added to SQL support in TScript ability to use variables in query line
* Added a 'mbox prune' command to expire personal areas
All deleted messages are removed, as well as any messages over 1/2 year
old, from all personal areas (areas NOT in the areas.sys file).
* Added a 'sendmail' command, for sending quick notes from Command Session
Syntax is 'sendmail toaddr [fromaddr] subject data', where 'data' is either
a string, or a filename preceeded by a "<" (with no space between). If
no 'fromaddr' is given, it is addressed from 'sysop@'yourhostname.
* Added a HTTP server!
This is built from the code patches from Selcuk Ozturk <seost2+@pitt.edu>
produced for JNOS. The HTTP he produced/modified were a hybrid between
HTTP 0.9 and HTTP 1.0, meeting NEITHER spec, really. This code was first
ported to TNOS and UNIX, made completely compliant with both 0.9 and 1.0
specs, enhanced RADICALLY, and mostly rewritten. All resemblance to the
original code at this point is strictly coincidental ;-)
The default base directory for HTTP is 'http/' from your TNOS root directory,
and the default port is 80, which is the normal HTTP server port. You can
just 'start http' and it will use these defaults, or you can
'start http <portnum> <dirname>' to specify other than the
default port and base directory. You can have up to MAXHTTPPORTS servers,
on different ports. MAXHTTPPORTS is set to 10. You can stop an active
HTTP server with 'stop http [portnum]'.
Two commands affect the pacing of the servers. The 'http maxcli' command
sets the total number of connects to be accepted at a time. The 'http simult'
command sets the number (of connected sessions) that will be served
simultaneously. The 'simult' number is the number being serviced, while
the 'maxcli' - 'simult' is the number who we will accept connects from, but
that must wait their turn. The 'http tdisc' command sets the inactivity
timer.
There are four commands that customize the information logged. The
'http agent' command selects whether you wish to log info on the 'User
Agents' used to access your server; that is, the client software used
(Netscape, Mosaic, etc). This info, when logged, is kept in
'spool/log/agent.log'. The 'http referer' command selects whether you
wish to log info on which Web pages 'referered' to your pages, which led
them TO you. This info, when logged, is kept in 'spool/log/referer.log'.
The 'http post' command selects whether you wish to log info sent if a page
tries to 'post' a form to your TNOS server. Currently the only support for
the HTTP 'POST' command is to log the info. No parts of TNOS/HTTP act upon
a 'POST' request (yet). This info, when logged, is kept in
'spool/log/post.log'. The 'http misc' command selects whether you wish to
log info from the other header lines received within client requests to
your server. These are only really useful if debugging problems in accessing
the server from a particular Client Software product. This info, when
logged, is kept in 'spool/log/mischttp.log'.
The 'http exec' enables Server Including of 'exec' directives (only
available on TNOS/Unix). More on this later. The 'http status' command will
list the active servers, and the settings of the other 'http' subcommands.
All standard HTML files can be served, as well as graphics files, etc. A
request for 'http://hostname/' will access the file named 'http/root.html'.
Giving a URL of a directory name, will do several things. First, it will
look for a file in that directory named, 'wwwpre.cat', and if found it will
be sent as the beginning of the page, otherwise a default title and
heading will be created. Then the contents of the directory will be added.
These are set up with links to icons, to be set up in a 'http/icons'
directory. These icons can be found on ftp.lantz.com in '/tnos/icons'.
Then, lastly, it looks for the presence of a 'wwwpost.cat' file, and adds
it if found, or generates page ending code, if the file doesn't exist.
The 'wwwpre.cat' and 'wwwpost.cat' files allow you to customize the page
in any way you wish, and each directory can be different.
There is ALSO full support for Server Includes (also called Server-Side
Includes in some books). These allow you to include certain information
as the page is being rendered. Each Include is of the format:
<!--#cmd param -->
These are documented in most available books on writting HTML pages and
maintaining HTTP servers. The available standard commands/parameters are:
* echo var="DATE_LOCAL"
Displays the current local date/time.
* echo var="DATA_GMT"
Displays the current date/time in a fixed GMT format.
* echo var="DOCUMENT_URI"
Displays the current document's URI/URL.
* echo var="DOCUMENT_NAME"
Displays the current document's filename.
* echo var="LAST_MODIFIED"
Displays the current document's last modification date/time.
* include file="filename"
* include virtual="filename"
Includes the contents of the named file, as if it's text were a
part of this page. The 'virtual' filenames are relative
filenames from the servers base directory, while the 'file'
filename are relative filename from the directory of the file
being processed. There is is NO WAY an included file can be
processed UPWARD from the base directory of the server.
Filenames starting with '../' have these stripped off of them.
* fsize file="filename"
* fsize virtual="filename"
This includes the size of the named file. The 'file' and
'virtual' parameters are described above.
* flastmod file="filename"
* flastmod virtual="filename"
This includes the last modification date/time size of the named
file. The 'file' and 'virtual' parameters are described above.
* exec cmd="filename" - TNOS/Unix only
This allows you to insert the output of ANY other Unix program,
into the page, *IF* the 'http exec' command is set to 'on'.
* config timefmt="timestr"
Configures the output format for date/time strings within Server
Include directives. The 'timestr' is a string passed to
'strftime'.
* config sizefmt="ABBREV|BYTES"
Configures the output format for filesizes. Setting to 'bytes'
gives the total number of bytes. Setting to 'abbrev' get output
rounded to the next K or Meg. The default is 'abbrev'.
* config errmsg="errorstr"
Sets the error message added to the page if an unknown directive
is used.
The commands that are unique to TNOS are:
* echo var="HOSTNAME"
Displays the hostname of the TNOS server machine.
* echo var="TOTAL_HIT_COUNT"
Displays the total number of hits to this server.
* echo count="filename"
* echo icount="filename"
* echo scount="filename"
Gives/sets number of times a file has been accessed, based on
the checkpoint file 'filename'. The 'filename' file is located
in the 'http/counts' directory. The 'count' parameter is used
to simply return the current count recorded in checkpoint file
'filename'. The 'scount' parameter increments the count in the
checkpoint file 'filename', but does not add it to the
displayed page. The 'icount' parameter does both; it increments
the count and displays the new count from the checkpoint file.
* Added to the spec for the forward.bbs file, an 'IF MODE = xx' condition
This allows you to set up different forwarding conditions for unusual times
(like ARES/RACES activations), and modify how the forwarding will be parsed.
This looks at the value set by the 'forward mode' command.
* Outbound forwarding first checks and doesn't start if all messages are held
* The above are included in 2.02pl1
* MAJOR, MAJOR, MAJOR, MAJOR, MAJOR CHANGE!!!!!!!
Well, not THAT big, just don't want to answer a NEW FAQ daily! ;-)
The 'mbox' command is renamed to the 'pbbs' command (break that 'mb' habit).
All log messages that used to have 'MBOX' in them, now have 'PBBS'.
The spool/log/mbox.log file is now the spool/log/pbbs.log file. The
etc/help/mbox.hlp file needs to be renamed to etc/help/pbbs.hlp. The
source file 'mboxcmd.c' was renamed to 'pbbscmd.c'. These changes should
complete the partial change in terminology from MBOX to PBBS. Some internal
source code references still use 'mbox' internally, but all external usage
should now be PBBS.
The BBS 'mboxusers' command remains, but will be phased out later. A
new 'pbbsusers' command was added, and is the desired command.
A 'mailbox' (or 'mbox') is now used strictly to reference a users mail file,
while the process used to access this file (and public files) is the PBBS.
CHANGE THESE!!!! (don't say I didn't try ;-)
* Removed the never-completed TNOS-to-TNOS LZW forwarding
So long, to the 'forward lzw' command, and (for now), the 'T' in the PBBS
SID.
* Added code from KA9Q/JNOS for a Terminal Server
* Added code to handle W0RLI X-compressed forwarding protocol
* The above are included in 2.02pl2
* Added additional Server Side Includes to the HTTP server for PBBS usage
* echo var="VERSION"
Displays the version release number of the TNOS server machine.
* echo var="USERNAME"
Displays the current HTTP/PBBS username, or 'unknownUser' for
not PBBS usage.
* echo var="QUOTE"
Displays the current Quote of the Day string, if the quote
server enabled.
* echo var="AREANAME"
Displays the current area name, if applicable.
* echo var="MESSAGENUM"
Displays the current area message number, if applicable.
* echo var="PERMISSIONS"
Displays the output of the PBBS command 'security' for this user
* echo var="PREV_MSGNUM"
Displays the current area message number - 1, if current is > 1.
* echo var="NEXT_MSGNUM"
Displays the current area message number + 1, if more messages.
* echo var="PREV_LIST_START"
Displays the current area message number - 100, if current is
> 100.
* echo var="NEXT_LIST_START"
Displays the current area message number + 100, if more than
100 more messages.
* echo var="PREV_MSG_BUTTON"
Inserts the /bbs/pmbutton.cat file if there is a previous
message. This is used to insert a PREV button, using
PREV_MSGNUM to create a URL.
* echo var="NEXT_MSG_BUTTON"
Inserts the /bbs/nmbutton.cat file if there is a next message.
This is used to insert a NEXT button, using NEXT_MSGNUM to
create a URL.
* echo var="PREV_LIST_BUTTON"
Inserts the /bbs/plbutton.cat file if there are previous
messages to list in an area. This is used to insert a PREV
button, using PREV_LIST_START to create a URL.
* echo var="NEXT_LIST_BUTTON"
Inserts the /bbs/nlbutton.cat file if there are more messages to
list in an area. This is used to insert a NEXT button, using
NEXT_LIST_START to create a URL.
* echo var="AREA_LIST"
Inserts the actual listing of an area, within the
/bbs/arealist.html file.
* echo var="AREA_MSG"
Inserts the actual body of a message, within the
/bbs/msglist.html file.
* echo var="TOTAL_HITS"
Same as 'TOTAL_HIT_COUNT' - included for compatibility with
JNOS HTTP patches.
* echo var="REQ_FROM"
Inserts the calling system's 'From:' line's data, if one was
sent.
* echo var="REQ_REFERER"
Inserts the calling system's 'Referer:' line's data, if one was
sent.
* echo var="REQ_AGENT"
Inserts the calling system's 'Agent:' line's data, if one was
sent.
* exec bbs="command"
Executes the command 'bbs' within the PBBS, logged in as the
current user. Only available if the Command Session command
'http execbbs' is set to 'on'. CAUTION should be taken to only
use commands that are NOT interactive, since no interaction is
available.
Requests for /bbs or /bbs/ are changed to /bbs/<username>.html
Requests for /bbs/area are changed to /bbs/area/<username>.html
Requests for /bbs/message/<areaname> are changed to /bbs/area/<areaname>.html
Requests for /bbs/<username>.html are created from the /bbs/user.html file
Requests for /bbs/area/<areaname>.html are created from the /bbs/areaopt.html
file
Requests for /bbs/area/<areaname>/xx.html creates an area list for 'areaname'
starting with message 'xx'. If 'xx' is the string 'new', then only new
messages in this area are listed. This is based on the
/bbs/user/arealist.html file.
Requests for /bbs/message/<areaname>/xx.html creates a message listing for
message 'xx' in area 'areaname'. This is based on the /bbs/user/msglist.html
file.
* Added a Command Session 'register' command, for TNOS registration info
* Added a PBBS 'registry' command, to display TNOS registration info
* Added a completly configurable WWW interface to the PBBS
All URL's starting with /bbs have required authentication. The existing
ftpusers file is used.
* Complete revamping of Unix Makefile
* Added direct URL request of PBBS command
All URL's of /bbs/cmd/xxxx send back a text file of the 'xxxx' PBBS commands'
output. To pass parameters to the 'xxxx' command, follow the command with
a '?' and separate each parameter with a '?'.
All URL's of /bbs/cmd/area?yyy/xxxx send output like the above, but first
change areas to the 'yyy' area of the PBBS.
Examples:
http://ko4ks.ampr.org/bbs/cmd/finger?ko4ks
http://ko4ks.ampr.org/bbs/cmd/area?world/l?1?10
*** NOTE:
The 'http execbbs' Command Session command must be 'on'.
This COULD provide a security problem, so enable at your own risk!
* Added SIZE command to FTP server, for Netscape d/l remaining time gfx
Discovering this omission comes from reading an email of Selcuk
(seost2+@pitt.edu) to the NOS-BBS mailing list. I had THOUGHT I had added
this already, but hadn't.
* Added display of etc/banner.ftp (if exists) to login for FTP server
* FTP permissions improved for Unix
The new UNIX-like dir display needed a little more work with the permissions
portion of the display. Now, for TNOS/Unix, the actual file permissions are
displayed. NOTE: symlinks display the ACTUAL permissions, following the
symlink.
* Added PASV support to FTP server
* Added a 'etc/reject.dat' file, like FBB's 'reject.sys' file
This is to help prevent message spamming, among other things
The format is:
#REJECT.DAT
# action is one of 'R'eject, 'H'old, 'L'ocal hold, 'D'efer, or 'A'ccept
#type from to @bbs bid max_size action
#B * * * *_AZGATE 0 R
#
B * * * *_HOLD 0 H
B * * * * 6000 A
It will work with PBBS messaging and smtp gatewaying. X-FWD'ing only
sends the BID during negotiation, so only that is checked at that time. If
the SMTP server sees a REJECT or DEFER action, it will mark the message as
deleted. Only messages sent by a non-BBS in the PBBS are eligible for a
LOCALHOLD. The 'etc/reject.dat' file lines are processed in order, and
concludes at the first match.
This is all the same data as the FBB 'reject.sys' file, with the parameters
changed in their order.
* Added a 'pbbs reject' command, to enable/disable 'etc/reject.dat'
processing
* For Unix - Added a script to analyze system and build a 'make.inc' file
This should properly care for GCC, ELF, ncurses, tclsh, and LOCKDIR
configuration.
* Added a 'warnings' command, to warn of missing vital commands
This idea came from the tales of woe of one of our number who did
not have a default IP route set. Seems that under certain circumstances
(not all) TNOS barfs if someone connects to them, and there is not a
route TO them, and the default route is not set.
The WARNINGS commmand lists possible problems, which MIGHT have made
life easier, at least for this ONE individual.
The WARNINGS command automatically executes after the autoexec.nos (if
not disabled within it), listing things which SHOULD be set, that are
not; i.e. hostname, ip address, default route, etc. That display can also be
called from the Command Session console, with 'warnings ?'. You can
explicitly enable/disable the startup warning from autoexec.nos with
'warnings on' and 'warnings off', respectively.
It also will remind you of the problems every 20 commands in the Command
session, unless it is disabled. Better to be a nag, than to have us in
ignorance! ;-)
* Added two new permission values to ftpusers file
These are related to the HTTP PBBS support currently in TNOS (and later to
be added). These are:
# LABEL DECIMAL HEX DESCRIPTION
# no_http_ip 33554432 0x02000000 (Disallow http PBBS access via IP)
# no_http_ax 67108864 0x04000000 (Disallow http PBBS access via AX25)
* Added an 'http anonsend' command, to allow restricting mail postings
This allows you to restrict the HTTP PBBS code to only allow non-anonymous
users (those with entries in the ftpusers file) to be able to send mail.
* Added a MAN Command Session command, to display manual pages
Not much use till some man pages are made ;-), but the coding is done
in anticipation....
While TNOS man pages will be created in typical Unix MAN page format
(requiring nroff to format), the TNOS 'man' command will read CAT files,
which are the pre-formatted version of the man pages. While both formats
MAY be distributed, only the CAT files are used internally by TNOS.
* Added to distribution MAN files for all callable functions in TNOS
This is NOT user level documentation, but it is automatically generated
man pages of the entire source tree, listing all non-static functions within
all *.c files. This uses a tool called C2MAN (at fine search engines near
you). This CAN be used by those TNOS-hackers, to help wade through the
wealth of files making up TNOS.
They can be viewed within TNOS with the 'man' command, or Unix users can
add TNOS' 'man' directory to their MANPATH environment variable, and then
'man' from their favorite shell.
Currently, there are 716 development man pages, so more useful than others.
* Changed the NNTP server code to the 'experimental' code
This is the code that Gareth Rowlands (gareth@lightfox.demon.co.uk)
started the port to TNOS on, and was distributed in an experimental package
for several months. I've cleaned up the sources a bit, and replaced the
old code with this.
* Forward file locking added
If a record got added into a *.fwd file when a forwarding session is
concluding, sometimes the new record got missed, and the *.fwd file
gets deleted, losing that new record. Rare, but needed to be addressed.
Now the fwd file is locked before cleanup and before adding a new entry.
The code will continue to try to lock the file once a second until it is
available. There is no way for the previous problem to now occur.
* The above are included in 2.10b2
* The above are included in 2.10b3
* Added code to scan R: lines of incoming messages for altered BIDs
There are two commands 'forward alteredbids' and 'forward alteredhold'. The
first turns on/off the checking. The second command determines if any
messages found with altered bids will be held (if on) or deleted (if off).
* The above are included in 2.10b4
* The above are included in 2.10b5
* Added a PBBS 'bid' command
How many times have you seen a message (usually sent to SYSOP@WW)
indicating a troublesome message, and all that was given was the BID?
Kinda hard to find on a multi-area BBS, huh?
No longer! A new BBS command 'bid xxxx' will search for bid 'xxxx', and
tell you which area it can be found in. Then you can change to that area,
and use the 'L$ xxxx' command to find the message.
This adds the area to the information in the history file, and will NOT
be able to help you with the messages on your system prior to release
2.10, but it will try, and tell you it couldn't find it....
* Added FreeBSD patches
------------------------------------------------------------
Minor Changes:
The following minor changes have occurred.
* A few Convers optimizations added by Dave Salaman
* Added code to prevent crashes with corrupted wpage/history files
* A few assorted conditional code changes and Sun fixes from Bob Smith
* Completed the compiling sanity checking in config.chk
* Now forces a users.dat update when asked for HOME BBS
This is rather than waiting until the user exits. If the user DIDN'T exit
normally, this would not get updated, and they would be asked again next
time.
* Added code to prevent eternal SMTP looping if *.txt file missing
Shouldn't happen in reality, but discovered this in testing.
* Added a log file entry for each MH/MA/MT/MP command
* Added a pre-defined finger 'user' of 'uptime'
* System error message now addressed to 'syserror', not sysop
If you do not have 'errors off' and wish it to work as with prior releases
of TNOS, add a 'syserror sysop' to your rewrite file.
* Added signal handling code for SIGWINCH, for X window size changes
* Changed 'smtp batch' from default of 'on' to 'off'
* Creates the LOCKDIR if it doesn't exist
* Changed 'forward mode' from an on/off value to a numeric value
Setting mode to zero, disables forwarding.
* The above are included in 2.02pl1
* Added missing code to verify checksum on received YAPP messages (FBBCMP)
* Changed default of 'forward ctlz' from off to on
* Added a 'forward active' command
* Added a 'forward laston' command
* Several tweeks to the forwarding subchannel code
* Several tweeks to the AX25 code to properly handle pthresh == 65535
* Added a 'PERSONALS' and a 'BULLETINS' attribute to the forward.bbs file syntax
See revised TNOSFWD.TXT
* Added an 'include' directive to the forward.bbs file syntax
See revised TNOSFWD.TXT
* Added a 'forward minidle' command
* Added a new PBS forwarding connect type of 'incoming'
This is for PBBSs that are incoming connects, only. A blank (or missing)
CONNECT line in forward.bbs will NEVER allow outbound forwarding. Use
'CONNECT = incoming' for any PBBSs that you NEVER connect out to, but
that poll you or drop off traffic to you.
* Added Dave Horsfall's patch to strip trailing blanks on headers for MW
* Added code to eliminate XLZW negotiations w/non-44 SMTP remotes
* Changed order of 'forward summary' subcommand
End result is 'fo s' (or 'fo su') is 'forward summary'. 'fo su' USED to be
'forward subchannel'. Might want to check the autoexec.nos file, if you
have abbreviated this....
* Added a new forward.bbs attribute, 'LIMITTYPE'
This allows you to limit the forwarding protocol type used with this BBS.
Values are 'FBB' (for FBB compressed forwarding), 'FBB-NONCOMPRESSED', and
'MBL' (or 'RLI') for non-FBB forwarding. The default is 'FBB'.
* Added code to prevent the BBS sending more than one SID
* Added to PBBS forwarding script WAIT command
Now, you can specify both a positive string, and a negative string.
For example, when forwarding via a modem (coming soon),
you can do 'WAIT 60 CONNECT|BUSY'
and if 'CONNECT' is found, it succeeds, but if 'BUSY' is found, it fails.
A special case exists if you do, for example, 'WAIT 60 CONNECT|'. In this
case, if 'CONNECT' is found it succeeds, but if ANYTHING else is found,
it fails.
* Extended the BBS 'MK' command to allow kicking individual PBBSs
The Mailbox Kick (MK) command (which is the same as the Command Session
'forward kick' command, now can also be called as 'MK PBBSNAME [poll]',
which is the same as the Command Session 'forward kickone PBBSNAME [poll]'
command.
* Added code to by default suppress POLLEDKISS polls from trace display
Added an optional 'attach asy' flag for devices of type 'pkiss'. This flag
('t'), if used, restores the displaying of POLLEDKISS polls in the trace
display.
* Many assorted tweeks of the forwarding code
* The above are included in 2.02pl2
* Added commandline option (-A xxx) to allow setting of max AX25/SLIP devices
* Added commandline option (-B xxx) to allow setting of max BBS processes
* Supressed the printing of data for inactive subchannels in 'fo sub'
* Added to the 'fo sub' syntax a description name
* Added a 'forward sysopprotect' command
This (if on) will treat personal messages in an area named 'SYSOP' the
same as public bulletins, that is, the messages will NOT be deleted after
they are forwarded.
Since I and most others place SYSOP@* messages in an area named 'SYSOP',
that is NOT available as a public area (in the 'areas' file), these messages
will normally be deleted when they are forwarded to the first forwarding
station. Since a 'SP SYSOP@*' is ACTUALLY a special case, and treated much
the same as a bulletin, this command allows this.
* Added code to make incoming PBBS forwarding sessions mark laston time
Discovered that I missed these....
* Added code to do one last pass through the forwarding areas
With FBB and X-compressed forwarding, there was a chance that if you were in
the last areas forwarding, and new messages came in for that PBBS, there
was on occasion the possibility that the PBBS would disconnect, not seeing
these messages, leaving them for the next pass.
I added code (that no one will really notice, unless you run with the
'fo fbbtr' on all the time), that will make ONE last pass through when it
is done, until it makes at least one pass in which it forwarded NO messages.
This additional check should ensure that all mail passes off (unless held)
before a disconnect.
* Added a '-?' commandline option, to simply display the version info
* Added a check upon startup of the catalog.cat file
The check is made right at the beginning for the catalog.cat file. If it
is NOT found, an error is reported, and the program ends. If the file
looks corrupted, then an error is reported, but it attempts to run.
If the version in the header of the catalog.cat file does NOT match the
version of the TNOS executable, a warning is given, since death could
occur soon afterward ;-)
* Code added to insure forwarding queue rescan if additions while forwarding
Previously during FBB and X-compressed forwarding, if a new message came
in for an area already scanned (probably personal or at least higher
priority mail), it could have waited for as many as the third following
negotiation. While this was not bad, it was also not optimal.
Now, when any new message is added to the queue, it forces a new rescan
at the next negotiation.
* MAJOR rewriting of the HTTP code, removing hardcoded sequences
* MANY assorted cleanups
* Added logic to mkconfig.tcl to flag new options with '<NEW>'
* Minor change, but lengthy in time - rcsid strings in all *.c files
* Added display of RCS symbolic name (if present) to the 'status' command
* Added the compilation date/time to the info in the 'status' command
* In addition to 'desc.ftp', '.message' is also displayed by FTP server
This is for non-MSDOS, for the obvious reason that '.message' is not a valid
MSDOS filename. These files (if they exist) are displayed when a user
does a 'cd' into the directory.
* More strings moved to catalog.cat
* Added '?' option to prompts of mkconfig.tcl, with help for most items
* Changed it so that Permanent PBBS messages cannot be killed
They must FIRST be made non-permanent (temporary) with the 'MT' command.
* Attempting an 'all areas' kill must pass an 'are you sure' prompt
I have from time to time done a '!k' when I meant to do a '!l', which ended
up deleting the first unread message (or message 1 in areas with no new
messages). Now this potentially danger global command must pass a sanity
prompt.
* Added a 'smtp gateway none' option, to clear a previous gateway
* Added a verification msg to the PBBS 'group' command
* Added a new compile flag (Unix only) to enable uptime in 'ps' display
* Changed default for 'domain update' from on to off
* The above are included in 2.10b2
* Added a TNOS lockfile, for easy checking for existance of running TNOS
I will be adding a TNOS lockfile, named 'tnos.lock', which will be placed
in the TNOS home directory on startup. It will have a single line in it,
which will be the PID of the active TNOS process. TNOS will look for this
on startup, and if found, it will check to see if that PID is still active.
If it *is* active, the new TNOS will die, otherwise it will blow away
the stale lockfile.
This is just like the way the TNOS (and uucp, etc) deal with the lock
files that protect serial ports.
It will also give another (better) way to check for TNOS being active in
scripts, for those of you who wish to (I have found NO need for this, but
to each their own). Instead of the ps piped into grep, you could:
ps -p `cat /nos/tnos.lock`
to check for it being up.
* Added command line variable expansion to processing of onexit.nos
* The above are included in 2.10b3
* Added code to display X-BBS-Hold header line when SYSOPs reading msgs
Allows easier determination of why the message is held. If there is NO
X-BBS-Hold line, it was caught by the userhold.dat file or the wordhold.dat
file. Otherwise, the reason will be in the X-BBS-Hold line.
* Changed default flow control for Command Session from on to off
* MANY, MANY, MANY cleanups, due to lint'ing
* The above are included in 2.10b4
* The above are included in 2.10b5
------------------------------------------------------------
Known Bugs:
The following are known bugs that are being worked on during the development
of release 2.10. These may or may not be fixed in release 2.10.
* Sending mail to the proxy server, doesn't seem to work properly
The first problem with this was that the proxy server was NOT accounting
for the fact that some messages will have mini-RFC headers in it.
There is another problem, though, that I am looking into, which seems to
be related to calling scripts from within scripts (which proxy.scr DOES).
* Displaying parameter strings with a '\r' needs adjustment
If you define a parameter string (like 'ax25 bctext') to be multi-line
strings with a '\r', the output to the screen may not be what you expect.
* Duplicate entries in the WP files
While not harmful, the WPages routines SHOULD be overwritting existing
entries, NOT creating new ones.
* Problem with a CC: to a public area
If you send a 'SP' BBS message (or 'SC') and end up with a CC: to a public
area it has an 'X-BBS-Type' line defining it as personal, when it should be
bulletin.
* Convers compatibility problem with NON-TPP servers
If the callsign/nickname combo's is larger than 9 characters, this will
prevent a Jnos host that is linked in from hearing what that person is
saying.. TPP has this problem, too.....
* None other at this time.... ;-)
------------------------------------------------------------
To-Do List:
The following are things on my 'to-do' list that may eventually
be done, but not necessarily by the next release.
* Complete the spec and coding of the non-IP HTTP PBBS interface
* Investigate incorporating into TNOS a userfs extension
This would allow *any* Linux (and possibly other Unix) program to open a
file and access certain TNOS features. For instance a terminal program like
minicom could open a device:
/tnos/connect/lan/k0zxf/ko4ks-1/813044
and do the equivalent to 'connect lan k0zxf ko4ks-1 813044'.
You could incorporate a copy of your current usage stats into a email
message in Pine, by simply inserting a file named /tnos/stats/usage/general.
* Add capability to allow use of OS commands
Due to the obvious restriction of MS-DOS, this WILL be limited to Unix
version only.
* Add better support for PBBS<->Internet mail address translation
The 'translate' file and improved handling of aliases is a START, but more
work needs to be done here. Maybe a 'translate.out' file...
* Still better handling of AUTO/LOCAL ax25 routes
Improvement by making an ax25 route entry part of the connection block,
using this unique AUTO route for this connection only.
* Support (optimization) for ncurses 1.9.x for performance
* Color support output to Unix console
The various color commands don't work with the Unix kernel and curses.
Annoying, but just possible unexpected output. No crashes.
* Consider adding a 'R x - x' syntax to the BBS read command
* Consider adding IP MASQ support
* Add code to allow a TIP socket type, for use with LL Modems
* Tweek the WPages code a bit
Need to improve the code that insures
that the wpagebbs entries are correct, of the proper length, and actually
look like hier addresses. Also, make the expiring of WPages files less
fragile if the file has become corrupted.